package meta

import "sort"

type FileMeta struct {
	FileSha1 string
	FileName string
	FileSize int64
	Location string
	CreatedAt int64
	UpdatedAt int64
}

var fileMetas map[string]FileMeta

func init() {
	fileMetas = make(map[string]FileMeta)
}

//更新文件元信息
func UpdateFileMeta(fmeta FileMeta) {
	fileMetas[fmeta.FileSha1] = fmeta
}

//获取文件元信息
func GetFileMeta(fsha1 string) FileMeta {
	return fileMetas[fsha1]
}

func GetLastFileMetas(count int)[]FileMeta {
	fMetaArr := make([]FileMeta, len(fileMetas))

	for _, v := range fileMetas {
		fMetaArr = append(fMetaArr, v)
	}

	sort.Sort(ByCreatedTime(fMetaArr))

	return fMetaArr[:count]
}

// 简易的del
func RemoveFileMeta(sha1 string) {
	delete(fileMetas, sha1)
}
